-
Notifications
You must be signed in to change notification settings - Fork 51
Remove redundant options and restructure code in ex_coef to be easier to follow and modify further in future #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
… to follow and modify further in future
… kgo in coupled_nwp_gal9_64bit. Not sure whether to push to include that simplification too, and take the kgo hit?
P-Burns
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks fine, passing development for Code Review.
|
I've passed this ticket for Code Review, however, I couldn't see where to complete the Sci/Tech review check list, that is, but all checks are passed. |
|
@MetOffice/ssdteam I think Paul needs to be added to the SimSys SciTech reviewer pool. Apologies for missing that part of the guidance, which I'm still struggling to find but a colleague has suggested this as the reason why Paul can't fill in the sci/tech review form. Thanks |
|
Thanks Adrian, he's now added. Please continue raising it when you find people who aren't added |
PR Summary
Sci/Tech Reviewer: @P-Burns
Code Reviewer:
The boundary_layer code imported to lfric_apps from the UM contained a number of old options that are no longer used and are not even available in lfric_apps. Here, I'm taking this opportunity to remove 3 of these switches (l_lambdam2, l_full_lambdas and var_diags_opt). This then also permits a more logical reorganisation of the code in ex_coef that should make it easier to read and also to modify further in the future. Scientifically there are no changes at all and the KGO are preserved.
Note that I did also try removing a 4th hardwired switch, l_use_var_fixes, but so-doing broke KGO (for just the
coupled_nwp_gal9_64bit app, presumably due to some interaction with the compiler optimisation in the subroutine excf_nl.F90) so I've have reverted that change in the latest revision. Subject to discussion with reviewers.
Update 21/01/2026: following discussions with the Sci-tech reviewer, I've now removed the redundant variable h_blend_orog all through the LFRic code tree (it was being passed from JULES but always containing zeros as the effective orographic roughness scheme is not available in LFRic, and has been superseded by the distributed version in all configurations). All developer tests still maintain kgo, see updated trac.log below.
Code Quality Checklist
(Some checks are automatically carried out via the CI pipeline)
style guidelines
readability of the code
Testing
acceptable (eg. kgo changes): no changes to kgo
tests, unit tests, etc.): no new functionality added
and have tests been allocated to an appropriate testing group (i.e. the
developer tests are for jobs which use a small amount of compute resource
and complete in a matter of minutes): no new tests added or needed
trac.log
Test Suite Results - lfric_apps - ex_coef_tidy/run4
Suite Information
Task Information
✅ succeeded tasks - 1106
Security Considerations
Performance Impact
performance measurements have been conducted
AI Assistance and Attribution
of Generative AI tool name (e.g., Met Office Github Copilot Enterprise,
Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
Simulation Systems AI policy
(including attribution labels)
Documentation
confirmed that it builds correctly: no changes needed
PSyclone Approval
inteface, optimisation scripts, LFRic data structure code) then please
contact the
tooscollabdevteam@metoffice.gov.uk
Sci/Tech Review
Please alert the code reviewer via a tag when you have approved the SR
Code Review